package com.apigen.platform.service;

import com.apigen.platform.dto.LoginRequest;
import com.apigen.platform.dto.LoginResponse;

/**
 * 认证服务接口
 *
 * @author API Generator Platform
 * @since 2025-09-24
 */
public interface IAuthService {

    /**
     * 用户登录
     *
     * @param loginRequest 登录请求参数
     * @return 登录响应数据
     */
    LoginResponse login(LoginRequest loginRequest);

    /**
     * 刷新Token
     *
     * @param refreshToken 刷新令牌
     * @return 新的登录响应数据
     */
    LoginResponse refreshToken(String refreshToken);

    /**
     * 用户登出
     *
     * @param userId 用户ID
     */
    void logout(Long userId);

    /**
     * 获取当前用户信息
     *
     * @param userId 用户ID
     * @return 用户信息
     */
    LoginResponse.UserInfo getCurrentUserInfo(Long userId);
}
